package com.newly.driver.sdk.device.video.service.api;


import com.newly.driver.sdk.device.video.cloud.record.QueryRecordReq;
import com.newly.driver.sdk.device.video.cloud.record.QueryRecordResp;

/**
 * @author gjm guan
 * @date 2021/10/27 11:18
 * @desc 统一录制接口
 */
public interface IRecord {

    /**
     * 开启录制,带时间段
     *
     * @param startTime 开始时间
     * @param stopTime  结束时间
     * @param deviceId  设备id
     * @param channelId 通道id
     * @return 开启成功返回true
     */
    boolean startRecord(int startTime, int stopTime, String deviceId, String channelId);

    /**
     * 开启录制，不带时间段
     *
     * @param deviceId  设备id
     * @param channelId 通道id
     * @return 开启成功返回true
     */
    boolean startRecord(String deviceId, String channelId);

    /**
     * 停止录制
     *
     * @param deviceId  设备id
     * @param channelId 通道id
     * @return 停止成功返回true
     */
    boolean stopRecord(String deviceId, String channelId);

    /**
     * 查询录制记录
     *
     * @param queryRecordReq 查询录制记录请求参数
     * @return QueryRecordResp.class
     */
    QueryRecordResp queryRecord(QueryRecordReq queryRecordReq);

    /**
     * 查询录制记录
     *
     * @param deviceId  设备id
     * @param channelId 通道id
     * @return QueryRecordResp.class
     */
    QueryRecordResp queryRecord(String deviceId, String channelId);
}
